One application in the manipulation of data used by computer and electronic devices is the compression and decompression of data. Storage space for data in memory devices is limited in many circumstances, so that data compression techniques are often used to reduce the amount of storage space that is needed for an image, a message, or other block of data. Once compressed and stored, the compressed data is eventually decompressed into its uncompressed, original form using an algorithm or technique complementary to the compression technique. Some types of compression are known as lossy, where some data is lost in the compression and decompression process. However, in many applications, such as image compression, the lost data typically does not make a noticeable or practical difference in the final use or application of the data.
One lossy compression technique that is used often in recent years is known as wavelet-based compression. In this type of compression, a wavelet transform is used to reduce the amount of data with little noticeable loss. One type of wavelet transform that can be performed using digital processors and circuits is the Discrete Wavelet Transform (DWT), which uses discrete samples of a continuous wavelet, and can be similar to a filtering technique with discrete coefficients. The DWT can be tuned to a particular application or input, allowing it in many cases to be more useful for applications such as image compression or enhancement than other transforms such as the discrete cosine transform (DCT) or averaging filters. For example, the JPEG2000 still image compression standard is wavelet-based.
Data enhancement is useful and desirable in a wide variety of computer-and electronic-based applications. A data enhancement application that can be related to data compression is image enlargement. Instead of decompressing a compressed image, an original, uncompressed image is enlarged to a greater size. This can be useful in many applications; for example, an original image in a lower resolution may be too small to fit a particular screen size and preferably should be enlarged. Also, super resolution images can be created from smaller images for prints or photographic quality pictures. Video images or streams can be enhanced by increasing the resolution of the particular video images or by estimating entire frames between existing frames to increase the smoothness of motion perceived in the visual presentation.
When enlarging images, different techniques can be employed. Some prior methods include duplicating pixels to achieve the higher resolution, or using a bi-linear interpolation or other averaging technique. However, these techniques typically result in images of poor quality, having a “blocky” appearance or rough contours.
Other enlargement techniques may use wavelet transforms in similar ways to wavelet-based compression. For example, one technique of the prior art constructs virtual DWT sub-bands from an image without performing the DWT and applies an Inverse Discrete Wavelet Transform (IDWT) upon the virtual sub-bands, where the result of the IDWT represents an up-sampled (enlarged) version of the image. However, since the virtual sub-bands to be used with the IDWT do not exist, they are simply zeroed. The result is a regenerated image that may be better than other standard techniques but the regenerated image still typically has low quality.
Data enhancement can also include recovering lost data in communication channels. For example, data can get lost during transmission and reception, over any kind of communication channel. The recovery of the lost data is important for reliable communications. However, existing techniques may not recover data as reliably as desired for image, video, and other kinds of data transmission.